package com.charity.service;

import com.charity.domain.Project;

import java.util.List;

public interface IProjectService {
    /**
     * 创建慈善项目
     * @param project 项目信息
     * @return 创建结果
     */
    boolean createProject(Project project);

    /**
     * 更新慈善项目
     * @param project 项目信息
     * @return 更新结果
     */
    boolean updateProject(Project project);

    /**
     * 删除慈善项目
     * @param projectId 项目ID
     * @return 删除结果
     */
    boolean deleteProject(Long projectId);

    /**
     * 获取慈善项目详情
     * @param projectId 项目ID
     * @return 项目信息
     */
    Project getProjectById(Long projectId);

    /**
     * 获取慈善项目列表
     * @param status 项目状态（可选）
     * @param pageNum 页码
     * @param pageSize 每页数量
     * @return 项目列表
     */
    List<Project> getProjectList(Integer status, int pageNum, int pageSize);

    /**
     * 更新项目状态
     * @param projectId 项目ID
     * @param status 新状态
     * @return 更新结果
     */
    boolean updateProjectStatus(Long projectId, Integer status);
}